package com.example.forum.services;

import com.example.forum.model.User;


public interface IUserServices {
    /**
     * date: 2024/09/07 15:07<br/>
     * Description:
     * 新建用户
     *
     * @param user 用户信息
     * @author: jmy <br/>
     */

    boolean createNormalUser(User user);

    /**
     * date: 2024/09/08 21:21<br/>
     * Description:
     *
     * @param userName 用户名
     *                 根据用户名查询查询用户信息
     * @author: jmy <br/>
     */
    User selectByUserName(String userName);

    /**
     * date: 2024/09/08 21:25<br/>
     * Description: 用户登录
     *
     * @param password 用户密码
     * @param userName 用户名
     * @author: jmy <br/>
     */
    User login(String userName, String password);


    /**
     * date: 2024/09/09 17:04<br/>
     *
     * @param id 用户id
     *           Description: 通过id查询用户信息
     * @author: jmy <br/>
     */
    User selectById(Long id);

    /**
     * date: 2024/09/11 16:11<br/>
     *
     * @param id 用户id
     *           Description: 更新用户文章数量 +1
     * @author: jmy <br/>
     */
    Integer addOneArticleCountById(Long id);


    /**
     * date: 2024/09/16 10:25<br/>
     * Description:更新用户文章数量 -1
     *
     * @author: jmy <br/>
     */
    Integer subOneArticleCountById(Long id);


    /**
     * date: 2024/09/16 12:29<br/>
     * Description: 更新用户信息
     *
     * @author: jmy <br/>
     */
    Integer updateByPrimaryKeySelective(User user);

    /**
     * date: 2024/09/17 19:02<br/>
     * Description: 修改个人信息
     *
     * @author: jmy <br/>
     */
    void modifyInfo(User user);

    /**
     * date: 2024/09/19 11:15<br/>
     * Description: 修改密码
     *
     * @author: jmy <br/>
     */
    Integer modifyPassword(Long id, String newPassword, String oldPassword);

}



